package com.cute.leetcode.editor.cn;

import java.util.*;

public class HJ61FangPingGuo {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        while(sc.hasNextInt()){
            int m = sc.nextInt();// 苹果数量
            int n = sc.nextInt();// 盘子数量
            System.out.println(count(m, n));
        }
        sc.close();
    }
    // m为苹果数量，n为盘子数量
    public static int count(int m, int n){
        // 没有苹果或者苹果数或者只剩下一个盘子时只有一种方案
        if (m == 0 || m == 1 || n == 1) return 1;
        // 如果盘子数量多于苹果数量，则必定有n-m个盘子空着，空盘子不影响结果
        if (n > m) return count(m, m);
        // 此时盘子数量小于苹果数量，可以考虑空一个盘子，或者所有盘子至少放一个苹果
        return count(m, n - 1) + count(m - n, n);
    }
}